#ifndef ABSTRACTSERIALIZER_H
#define ABSTRACTSERIALIZER_H


#include "serializer_global.h"
#include <QObject>
#include <QIODevice>


class AbstractItem;



class SERIALIZERSHARED_EXPORT AbstractSerializer : public QObject
{
    Q_OBJECT
public:

    AbstractSerializer(QObject* parent);

    virtual void serialize(AbstractItem* item, QIODevice* output) = 0;
    virtual AbstractItem* deserialize(QIODevice* input) = 0;

};

#endif // ABSTRACTSERIALIZER_H
